<?php
session_start();
// ##############################################################################||
// #                                                                 
// #   MySmartBB Version 1.7.0	                                      
// #   http://www.MySmartBB.com                                      
// #   Copyright (c) 2008 by MySmartBB team                           
// #   license http://opensource.org/licenses/gpl-license.php GNU Public License
// #                                                             
// #   filename : register.php                                         
// #   register system            
// #                                                                  
// ##############################################################################||


// ** General definitions **

     define('NO_VISITOR',1);
     define('NOT_IN_INDEX',0);
     include('common.php');

// ** When The register now not a user ** 
    $SF->html_title_page('التسجيل - (Powered By MySmartBB Universal)');
     if ($member_permission != 1)
     {
         if ($_GET['index'] == 1)
         {
             $Smarty->assign('path_bar','التسجيل');
             $Smarty->display('path-bar.tpl');

             if ($info_row['reg_close'] == 1)
             {
                 $SF->error('المعذرة، التسجيل مغلق من قبل الإدارة');
             }

             if ($info_row['reg_o'] == 1)
             {

                 $mysbb_rules_query = $DB->sql_query("SELECT * FROM " . $db_prefix . "emailmsgs where id='5'");
                 $mysbb_rules_row   = $DB->sql_fetch_array($mysbb_rules_query);

                 $Smarty->assign_by_ref('mysbb_rules_row',$mysbb_rules_row);

                 $Smarty->display('register2.tpl');
             }
             else
             {
                 $Smarty->display('register1.tpl');
             }
         }
         elseif ($_GET['index'] == 2)
         {
             if ($_POST['B1']){

                 $Smarty->assign('path_bar','التسجيل');
                 $Smarty->display('path-bar.tpl');

                 $Smarty->display('register1.tpl');
	 
             }
             else
             {
                 $SF->error('المعذرة ، يجب عليك الموافقة على الشروط أولاً لإكمال التسجيل');
             }
         }
         elseif ($_GET['start'] == 1)
         {
             if ($_POST['T2'] != $_POST['T2B'])
             {
                 $SF->error('المعذرة ، كلمتا المرور غير متطابقتان');
             }

             if ($_POST['T3'] != $_POST['T3B'])
             {
                 $SF->error('المعذرة ، البريدان الإلكترونيان غير متطابقان');
             }

             if (!$SF->CheckEmail($_POST['T3']))
             {
                 $SF->error('البريد الالكتروني غير صحيح');
             }
			 
				if(isset($_POST['caseInsensitive']))
				{
					$_POST['captchaResult'] = strtolower($_POST['captchaResult']);
					$_SESSION['captchaResult'] = strtolower($_SESSION['captchaResult']);
				}
				
			else $result = '';

			if ($_POST['captchaResult'] !== $_SESSION['captchaResult'])
			{
				$SF->error('المعذرة ، الرجاء إعادة المحاولة. أدخل الكود الصحيح الدي بالصورة');
			}

#------------------------------------------------
            $da				= $_POST['da'];
			$ma 			= $_POST['ma'];
			$ya 			= $_POST['ya'];
			$ca 			= "$da/$ma/$ya";
			$sa 			= "$da/$ma";
			$d  			= date("j/n");
#------------------------------------------------

             $username      = trim($_POST['T1']);
             $password      = trim($_POST['T2']);

             $email_check   = explode('@',$_POST['T3']);
             $member_check  = $DB->sql_num_rows($DB->sql_query("SELECT * FROM " . $db_prefix . "member WHERE username='" . $username . "'"));
             $mail_check    = $DB->sql_num_rows($DB->sql_query("SELECT * FROM " . $db_prefix . "member WHERE email='" . $_POST['T3'] . "'"));
             $banned_email = explode("\n",$info_row['banned_email']);
             $banned_pemail = explode("\n",$info_row['banned_pemail']);
             $banned_name  = explode("\n",$info_row['banned_name']);


             if (empty($username) or empty($password) or empty($_POST['T3']) or ($_POST['D1']))
             {
                 $SF->error('يرجى تعبئة كافة المعلومات');
             }

             if (count($email_check) == 1)
             {
                 $SF->error('يرجى كتابة بريدك الصحيح');
             }

             if ($member_check > 0)
             {
                 $SF->error('المعذرة، اسم المستخدم موجود مسبقاً');
             }

             if ($mail_check > 0)
             {
                 $SF->error('المعذرة، البريد الإلكتروني موجود مسبقاً');
             }

             if ($_POST['gender'] != 'm' and $_POST['gender'] != 'f')
             {
                 $SF->error('خطأ ، اختر النوع -ذكر أو أنثى-');
             }

             if (in_array($username,$banned_name))
             {
                 $SF->error('هذا الإسم ممنوع من التسجيل');
             }

             if (in_array($_POST['T3'],$banned_email))
             {
                 $SF->error('هذا البريد ممنوع من التسجيل');
             }

             if ($_POST['T1'] == 'زائر')
             {
                 $SF->error('المعذرة، لا يمكنك التسجيل بهذا الإسم');
             }

             if (strlen($_POST['T1']) < $info_row['reg_less_num'])
             {
                 $SF->error('عدد حروف اسم المستخدم أقل من (' . $info_row['reg_less_num'] . ')');
             }

             if (strlen($_POST['T1']) > $info_row['reg_max_num'])
             {
                 $SF->error('عدد حروف اسم المستخدم أكثر من  (' . $info_row['reg_max_num'] . ')');
             }

             if (strlen(trim($password)) > $info_row['reg_pass_max_num'])
             {
                 $SF->error('عدد حروف كلمة المرور أكثر من (' . $info_row['reg_pass_max_num'] . ')');
             }

             if (strlen(trim($password)) < $info_row['reg_pass_min_num'])
             {
                 $SF->error('عدد حروف كلمة المرور أقل من (' . $info_row['reg_pass_min_num'] . ')');
             }

             if (strstr($username,'"') or strstr($username,"'") or strstr($username,'>') or strstr($username,'<'))
             {
                 $SF->error('المعذرة، لا يمكنك التسجيل بهذه الرموز');
             }

             if (empty($da) or empty($ma) or empty($ya))
             {
                 $SF->error('المعذرة، لم تقم بوضع المواليد بشكل صحيح');
             }
			 
			 $registerdate = date('Y-m-d');
			 $insert = $DB->sql_query("INSERT INTO " . $db_prefix . "member(id,username,password,email,user_gender,register_date,user_title,style,usergroup,lastvisit,user_time,bday,bday1,keepmeon,send_allow,user_country,user_website) VALUES('NULL','" . $username . "','" . md5($_POST['T2']) . "','" . $SF->SafeSQL($_POST['T3']) . "','" . $SF->SafeSQL($_POST['gender']) . "','" . $registerdate . "','عضو','" . $info_row['def_style'] . "','" . $info_row['def_group'] . "', '" . $date . "', '" . $SF->SafeSQL($_POST['user_time']) . "','" . $sa . "','" . $ca . "','" . $SF->SafeSQL($_POST['keepmeon']) . "','" . $SF->SafeSQL($_POST['send_allow']) . "','" . $SF->SafeSQL($_POST['user_country']) . "','" . $SF->SafeSQL($_POST['user_website']) . "')");
             $id           = $DB->sql_insert_id($insert);

             if ($insert)
             {
                 $member_num = $DB->sql_num_rows($DB->sql_query("SELECT * FROM " . $db_prefix . "member"));
                 $update_lastmember = $DB->sql_query("UPDATE " . $db_prefix . "info SET last_member='" . $username . "',last_member_id='" . $id . "',member_number='" . $member_num . "' WHERE id='1'");

                 if ($info_row['def_group'] == 5)
                 {
                     $url        = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
                     $url        = str_replace('register.php?start=1','',$url);
                     $s          = $SF->random();
                     $url       .= 'misc.php?active=1&m=' . $s;
                     $insert_req = $DB->sql_query("UPDATE " . $db_prefix . "member SET active_number='$s' WHERE id='$id'");

                     $getmsg_query = $DB->sql_query("SELECT * FROM " . $db_prefix . "emailmsgs WHERE id='4'");
                     $getmsg_row   = $DB->sql_fetch_array($getmsg_query);

                     $text = $getmsg_row['text'];
                     $text = str_replace('[MySBB]username[/MySBB]',$_POST['T1'],$text);
                     $text = str_replace('[MySBB]url[/MySBB]',$url,$text);
                     $text = str_replace('[MySBB]board_title[/MySBB]',$info_row['title'],$text);

                     $SF->mail($_POST['T3'],$getmsg_row['title'],$text,$info_row['send_email']);

					$Smarty->assign('msgg','أُرسِلَت رسالة طلب التفعيل إلى بريدك، يرجى مراجعة بريدك لتفعيل العضوية'); 
                	$Smarty->assign('GO','login.php?register_login=1&username=' . urlencode($username) . '&password=' . base64_encode($_POST['T2']));
					$SF->go_to('login.php?register_login=1&username=' . urlencode($username) . '&password=' . base64_encode($_POST['T2']),2);         
                    $Smarty->display('loading.tpl');

                 }
                 else
                 {
					$Smarty->assign('msgg','أُكمِلَت إعدادات التسجيل بنجاح ، مرحباً بك، سوف تُنقَل إلى الصفحة الرئيسية و يمكنك تسجيل الدخول'); 
                	$Smarty->assign('GO','login.php?register_login=1&username=' . urlencode($username) . '&password=' . base64_encode($_POST['T2']));
					$SF->go_to('login.php?register_login=1&username=' . urlencode($username) . '&password=' . base64_encode($_POST['T2']),2);          
                    $Smarty->display('loading.tpl');
                 }
             }
         }
     }
     else
     {
         $SF->error('لايمكنك التسجيل أكثر من مرة');
     }

     $Smarty->display('footer.tpl');

?>